↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PrologToPiTRSProof
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
AVG_IN_GAG(s(X), Y, Z) → U1_GAG(X, Y, Z, avg_in_agg(X, s(Y), Z))
AVG_IN_GAG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
AVG_IN_AGG(s(X), Y, Z) → U1_AGG(X, Y, Z, avg_in_agg(X, s(Y), Z))
AVG_IN_AGG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
AVG_IN_AGG(X, s(s(s(Y))), s(Z)) → U2_AGG(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_AGG(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAA(s(X), Y, Z) → U1_GAA(X, Y, Z, avg_in_aga(X, s(Y), Z))
AVG_IN_GAA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_AGA(s(X), Y, Z) → U1_AGA(X, Y, Z, avg_in_aga(X, s(Y), Z))
AVG_IN_AGA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → U2_AGA(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → U2_GAA(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAG(X, s(s(s(Y))), s(Z)) → U2_GAG(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_GAG(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PrologToPiTRSProof
AVG_IN_GAG(s(X), Y, Z) → U1_GAG(X, Y, Z, avg_in_agg(X, s(Y), Z))
AVG_IN_GAG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
AVG_IN_AGG(s(X), Y, Z) → U1_AGG(X, Y, Z, avg_in_agg(X, s(Y), Z))
AVG_IN_AGG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
AVG_IN_AGG(X, s(s(s(Y))), s(Z)) → U2_AGG(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_AGG(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAA(s(X), Y, Z) → U1_GAA(X, Y, Z, avg_in_aga(X, s(Y), Z))
AVG_IN_GAA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_AGA(s(X), Y, Z) → U1_AGA(X, Y, Z, avg_in_aga(X, s(Y), Z))
AVG_IN_AGA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → U2_AGA(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → U2_GAA(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAG(X, s(s(s(Y))), s(Z)) → U2_GAG(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_GAG(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PrologToPiTRSProof
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_AGA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_GAA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PrologToPiTRSProof
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_AGA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_GAA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
↳ PiDP
↳ PrologToPiTRSProof
AVG_IN_AGA(s) → AVG_IN_GAA(s)
AVG_IN_GAA(X) → AVG_IN_GAA(s)
AVG_IN_GAA(s) → AVG_IN_AGA(s)
AVG_IN_AGA(Y) → AVG_IN_AGA(s)
AVG_IN_AGA(s) → AVG_IN_AGA(s)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ PiDP
↳ PrologToPiTRSProof
AVG_IN_AGA(s) → AVG_IN_GAA(s)
AVG_IN_AGA(s) → AVG_IN_AGA(s)
AVG_IN_GAA(X) → AVG_IN_GAA(s)
AVG_IN_GAA(s) → AVG_IN_AGA(s)
AVG_IN_GAA(s) → AVG_IN_GAA(s)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ NonTerminationProof
↳ PiDP
↳ PrologToPiTRSProof
AVG_IN_AGA(s) → AVG_IN_GAA(s)
AVG_IN_AGA(s) → AVG_IN_AGA(s)
AVG_IN_GAA(s) → AVG_IN_GAA(s)
AVG_IN_GAA(s) → AVG_IN_AGA(s)
AVG_IN_AGA(s) → AVG_IN_GAA(s)
AVG_IN_AGA(s) → AVG_IN_AGA(s)
AVG_IN_GAA(s) → AVG_IN_GAA(s)
AVG_IN_GAA(s) → AVG_IN_AGA(s)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PrologToPiTRSProof
AVG_IN_AGG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PrologToPiTRSProof
AVG_IN_AGG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
↳ PrologToPiTRSProof
AVG_IN_AGG(Y, Z) → AVG_IN_AGG(s, Z)
AVG_IN_AGG(s, z1) → AVG_IN_AGG(s, z1)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ATransformationProof
↳ PrologToPiTRSProof
AVG_IN_AGG(s, z1) → AVG_IN_AGG(s, z1)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ATransformationProof
↳ QDP
↳ NonTerminationProof
↳ PrologToPiTRSProof
s(z1) → s(z1)
s(z1) → s(z1)
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
AVG_IN_GAG(s(X), Y, Z) → U1_GAG(X, Y, Z, avg_in_agg(X, s(Y), Z))
AVG_IN_GAG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
AVG_IN_AGG(s(X), Y, Z) → U1_AGG(X, Y, Z, avg_in_agg(X, s(Y), Z))
AVG_IN_AGG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
AVG_IN_AGG(X, s(s(s(Y))), s(Z)) → U2_AGG(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_AGG(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAA(s(X), Y, Z) → U1_GAA(X, Y, Z, avg_in_aga(X, s(Y), Z))
AVG_IN_GAA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_AGA(s(X), Y, Z) → U1_AGA(X, Y, Z, avg_in_aga(X, s(Y), Z))
AVG_IN_AGA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → U2_AGA(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → U2_GAA(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAG(X, s(s(s(Y))), s(Z)) → U2_GAG(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_GAG(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
AVG_IN_GAG(s(X), Y, Z) → U1_GAG(X, Y, Z, avg_in_agg(X, s(Y), Z))
AVG_IN_GAG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
AVG_IN_AGG(s(X), Y, Z) → U1_AGG(X, Y, Z, avg_in_agg(X, s(Y), Z))
AVG_IN_AGG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
AVG_IN_AGG(X, s(s(s(Y))), s(Z)) → U2_AGG(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_AGG(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAA(s(X), Y, Z) → U1_GAA(X, Y, Z, avg_in_aga(X, s(Y), Z))
AVG_IN_GAA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_AGA(s(X), Y, Z) → U1_AGA(X, Y, Z, avg_in_aga(X, s(Y), Z))
AVG_IN_AGA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → U2_AGA(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → U2_GAA(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_GAG(X, s(s(s(Y))), s(Z)) → U2_GAG(X, Y, Z, avg_in_gaa(s(X), Y, Z))
AVG_IN_GAG(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_AGA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_GAA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
AVG_IN_AGA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
AVG_IN_AGA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_GAA(s(X), Y, Z) → AVG_IN_AGA(X, s(Y), Z)
AVG_IN_GAA(X, s(s(s(Y))), s(Z)) → AVG_IN_GAA(s(X), Y, Z)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
↳ PiDP
AVG_IN_AGA(s) → AVG_IN_GAA(s)
AVG_IN_GAA(X) → AVG_IN_GAA(s)
AVG_IN_GAA(s) → AVG_IN_AGA(s)
AVG_IN_AGA(Y) → AVG_IN_AGA(s)
AVG_IN_AGA(s) → AVG_IN_AGA(s)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ PiDP
AVG_IN_AGA(s) → AVG_IN_GAA(s)
AVG_IN_AGA(s) → AVG_IN_AGA(s)
AVG_IN_GAA(X) → AVG_IN_GAA(s)
AVG_IN_GAA(s) → AVG_IN_AGA(s)
AVG_IN_GAA(s) → AVG_IN_GAA(s)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ NonTerminationProof
↳ PiDP
AVG_IN_AGA(s) → AVG_IN_GAA(s)
AVG_IN_AGA(s) → AVG_IN_AGA(s)
AVG_IN_GAA(s) → AVG_IN_GAA(s)
AVG_IN_GAA(s) → AVG_IN_AGA(s)
AVG_IN_AGA(s) → AVG_IN_GAA(s)
AVG_IN_AGA(s) → AVG_IN_AGA(s)
AVG_IN_GAA(s) → AVG_IN_GAA(s)
AVG_IN_GAA(s) → AVG_IN_AGA(s)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
AVG_IN_AGG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
avg_in_gag(s(X), Y, Z) → U1_gag(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(s(X), Y, Z) → U1_agg(X, Y, Z, avg_in_agg(X, s(Y), Z))
avg_in_agg(X, s(s(s(Y))), s(Z)) → U2_agg(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(s(X), Y, Z) → U1_gaa(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(s(X), Y, Z) → U1_aga(X, Y, Z, avg_in_aga(X, s(Y), Z))
avg_in_aga(X, s(s(s(Y))), s(Z)) → U2_aga(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(X, s(s(s(Y))), s(Z)) → U2_gaa(X, Y, Z, avg_in_gaa(s(X), Y, Z))
avg_in_gaa(0, 0, 0) → avg_out_gaa(0, 0, 0)
avg_in_gaa(0, s(0), 0) → avg_out_gaa(0, s(0), 0)
avg_in_gaa(0, s(s(0)), s(0)) → avg_out_gaa(0, s(s(0)), s(0))
U2_gaa(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gaa(X, s(s(s(Y))), s(Z))
U2_aga(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_aga(X, s(s(s(Y))), s(Z))
avg_in_aga(0, 0, 0) → avg_out_aga(0, 0, 0)
avg_in_aga(0, s(0), 0) → avg_out_aga(0, s(0), 0)
avg_in_aga(0, s(s(0)), s(0)) → avg_out_aga(0, s(s(0)), s(0))
U1_aga(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_aga(s(X), Y, Z)
U1_gaa(X, Y, Z, avg_out_aga(X, s(Y), Z)) → avg_out_gaa(s(X), Y, Z)
U2_agg(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_agg(X, s(s(s(Y))), s(Z))
avg_in_agg(0, 0, 0) → avg_out_agg(0, 0, 0)
avg_in_agg(0, s(0), 0) → avg_out_agg(0, s(0), 0)
avg_in_agg(0, s(s(0)), s(0)) → avg_out_agg(0, s(s(0)), s(0))
U1_agg(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_agg(s(X), Y, Z)
U1_gag(X, Y, Z, avg_out_agg(X, s(Y), Z)) → avg_out_gag(s(X), Y, Z)
avg_in_gag(X, s(s(s(Y))), s(Z)) → U2_gag(X, Y, Z, avg_in_gaa(s(X), Y, Z))
U2_gag(X, Y, Z, avg_out_gaa(s(X), Y, Z)) → avg_out_gag(X, s(s(s(Y))), s(Z))
avg_in_gag(0, 0, 0) → avg_out_gag(0, 0, 0)
avg_in_gag(0, s(0), 0) → avg_out_gag(0, s(0), 0)
avg_in_gag(0, s(s(0)), s(0)) → avg_out_gag(0, s(s(0)), s(0))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
AVG_IN_AGG(s(X), Y, Z) → AVG_IN_AGG(X, s(Y), Z)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
AVG_IN_AGG(Y, Z) → AVG_IN_AGG(s, Z)
AVG_IN_AGG(s, z1) → AVG_IN_AGG(s, z1)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ATransformationProof
AVG_IN_AGG(s, z1) → AVG_IN_AGG(s, z1)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Instantiation
↳ QDP
↳ ATransformationProof
↳ QDP
↳ NonTerminationProof
s(z1) → s(z1)
s(z1) → s(z1)